package cn.iocoder.yudao.module.biz.controller.admin.htHiddentrouble.vo;

import cn.iocoder.yudao.module.infra.dal.dataobject.oss.OssDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Data
public class HiddentroubleJoinVO {
    @ApiModelProperty(value = "隐患主键", required = true)
    @NotNull(message = "隐患主键不能为空")
    private String id;

    @ApiModelProperty(value = "隐患名称", required = true)
    @NotNull(message = "隐患名称不能为空")
    private String htName;

    @ApiModelProperty(value = "检查日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date checkDate;

    @ApiModelProperty(value = "隐患地点")
    private String place;

    @ApiModelProperty(value = "隐患类别")
    private String category;

    @ApiModelProperty(value = "检查类型")
    private String checkType;

    @ApiModelProperty(value = "隐患等级")
    private String level;

    @ApiModelProperty(value = "隐患状态")
    private String state;

    @ApiModelProperty(value = "隐患来源")
    private String source;

    @ApiModelProperty(value = "隐患产生原因")
    private String causeReason;

    @ApiModelProperty(value = "隐患描述")
    private String description;

    @ApiModelProperty(value = "检查人Id")
    private Long checkPeoId;

    @ApiModelProperty(value = "检查单位")
    private String checkDeptId;

    @ApiModelProperty(value = "所属单位")
    private String beCheckDeptId;

    @ApiModelProperty(value = "危险源")
    private String riskId;

    //------流程ID----
    @ApiModelProperty(value = "流程ID")
    private String flowId;

    //-------------隐患整改相关属性---------

    @ApiModelProperty(value = "整改期限")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date rectificationLimit;

    @ApiModelProperty(value = "整改类型")
    private String rectificationType;

    @ApiModelProperty(value = "整改责任部门")
    private String rectificationDeptId;

    @ApiModelProperty(value = "整改责任人")
    private Long rectificationPeoId;

    //---------------验收相关属性----------
    @ApiModelProperty(value = "验收责任人")
    private Long cancelPeoId;

    @ApiModelProperty(value = "验收责任单位")
    private Long cancelDeptId;

    //-----下达相关属性-----
    @ApiModelProperty(value = "下达方式")
    private String issueType;

    @ApiModelProperty(value = "隐患下达人ID")
    private Long issuePeoId;

    @ApiModelProperty(value = "附件")
    List<OssDO> ossFile=new ArrayList<OssDO>();
    @ApiModelProperty(value = "图片")
    List<OssDO> ossImg=new ArrayList<OssDO>();
}
